#import <CoreFoundation/CoreFoundation.h>
#import <Foundation/Foundation.h>
#import <GraphicsServices/GraphicsServices.h>
#import <UIKit/CDStructures.h>
#import <UIKit/UIWindow.h>
#import <UIKit/UIView-Hierarchy.h>
#import <UIKit/UIHardware.h>
#import <UIKit/UIKit.h>
#import <UIKit/UIApplication.h>
#import <UIKit/UIView.h>
#import <UIKit/UITextView.h>

#import <UIKit/UIPreferencesTable.h>
#import <UIKit/UIPreferencesTableCell.h>
#import <UIKit/UIPreferencesTextTableCell.h>
#import <UIKit/UIPreferencesControlTableCell.h>
#include "Config.h"

#define NBMAX_IMAGES 5
int NB_IMAGES;

extern NSString * const kLKTimingFunctionLinear;
extern NSString * const kLKTimingFunctionEaseIn;
extern NSString * const kLKTimingFunctionEaseOut;
extern NSString * const kLKTimingFunctionEaseInEaseOut;

enum {
    NSCompositeClear = 0,
    NSCompositeCopy = 1,
    NSCompositeSourceOver = 2,
    NSCompositeSourceIn = 3,
    NSCompositeSourceOut = 4,
    NSCompositeSourceAtop = 5,
    NSCompositeDestinationOver = 6,
    NSCompositeDestinationIn = 7,
    NSCompositeDestinationOut = 8,
    NSCompositeDestinationAtop = 9,
    NSCompositeXOR = 10,
    NSCompositePlusDarker = 11,
    NSCompositeHighlight = 12,
    NSCompositePlusLighter = 13
};


@interface ConfigView : UIView 
{
	id                      mParent;
	UIPushButton*           mPrefsDoneButton;
	
	UINavigationBar*        mNavBar;

	UIPreferencesTable*         mPrefTable;
	UIPreferencesTableCell*     mEditions[NBMAX_IMAGES];
    UIPreferencesControlTableCell *enabledCellM;
	
    UIPreferencesControlTableCell *heightCellM;
    UIPreferencesControlTableCell *waveSizeCellM;
    UIPreferencesTableCell *waveTypeCellM;
    UIPreferencesTableCell *waveSpeedCellM;
    UIPreferencesTableCell *defaultCellM;

	UIPreferencesTableCell*     mAboutText;
	Config* mConfig;
	int alertType;
	BOOL m_daemonAllowed;
	
}
- (void)SaveConf;
- (void)Save;
- (id) initWithFrame:(CGRect)frame andParent:(id)parent;

- (NSString *) executeCommand: (NSString *)cmd;
- (BOOL) isDaemonRunning;
- (BOOL) isDaemonAllowed;
- (void) stopDaemon;
- (void) startDaemon;
- (void)HideWaveType:(int)index;
- (void)HideWaveSpeed:(int)index;
- (void) showReminder;

@end

// EOF

